package com.greendragon.web.action.common; 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import com.greendragon.service.backend.IResourceBackendService;
import com.greendragon.web.action.BaseAction;

/** 
 * @author wulibin, exceptsky@gmail.com, 2011-11-18 下午03:23:03
 * 
 */
public class FileuploadAction extends BaseAction{
	private static final long serialVersionUID = -3165601114548295305L;
	private IResourceBackendService resourceService;
	private File file;
    private String fileFileName;
    private String fileFileContentType;
    private String message = "你已成功上传文件";
    
	public String execute() throws Exception{
		/*
		User user = (User)getSession().get(GlobalConstants.SESSION_LOGIN_USER);
		if(null == user){
			return INPUT;
		}
		*/
		String path = getRequest().getRealPath("/upload");

        try {
            File f = this.getFile();
            if(this.getFileFileName().endsWith(".exe")){
                message="对不起,你上传的文件格式不允许!!!";
                return ERROR;
            }
            FileInputStream inputStream = new FileInputStream(f);
            FileOutputStream outputStream = new FileOutputStream(path + "/"+ this.getFileFileName());
            byte[] buf = new byte[1024];
            int length = 0;
            while ((length = inputStream.read(buf)) != -1) {
                outputStream.write(buf, 0, length);
            }
            inputStream.close();
            outputStream.flush();
        } catch (Exception e) {
            e.printStackTrace();
            message = "对不起,文件上传失败了!!!!";
        }
        return SUCCESS;
	}
	

	public void setResourceService(IResourceBackendService resourceService) {
		this.resourceService = resourceService;
	}


	public File getFile() {
		return file;
	}


	public void setFile(File file) {
		this.file = file;
	}


	public String getFileFileName() {
		return fileFileName;
	}


	public void setFileFileName(String fileFileName) {
		this.fileFileName = fileFileName;
	}


	public String getFileFileContentType() {
		return fileFileContentType;
	}


	public void setFileFileContentType(String fileFileContentType) {
		this.fileFileContentType = fileFileContentType;
	}


	public String getMessage() {
		return message;
	}


	public void setMessage(String message) {
		this.message = message;
	}


	public IResourceBackendService getResourceService() {
		return resourceService;
	}
	
	
}
 